#include "hal_lockstep.h"
#include "driverlib.h"
#include "inc/hw_lcm.h"

// 初始化Lockstep，对比模块
void hal_lockstep_init(void)
{
    // C2000: 上电时可直接enable
    hal_lockstep_enable();
}

void hal_lockstep_enable(void)
{
    // 使能Lockstep Compare功能
    HWREG_BP(LCM_CPU1_BASE + LCM_O_CONTROL) |= LCM_CONTROL_CMPEN;
}

void hal_lockstep_disable(void)
{
    // 禁用Lockstep Compare（调试/测试/特殊场合用）
    HWREG_BP(LCM_CPU1_BASE + LCM_O_CONTROL) &= ~LCM_CONTROL_CMPEN;
}

bool hal_lockstep_get_status(void)
{
    // 读取状态/标志位：具体按芯片实际文档
    // 这里只做示例，假设0为正常，1为错误
    //uint32_t flag = HWREG_BP(LCM_CPU1_BASE + LCM_O_STATUS) & LCM_STATUS_FAULT;
    //return (flag == 0); // 0为正常，无错误

    return 0;
}
